﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using DAL.Classes;

public partial class QuanLy_QLBaiDang : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["TenDangNhap"] == "" || int.Parse(Session["QuyenHan"].ToString()) != 1)
        {
            Response.Redirect("~/DangNhap.aspx");
        }
        else if (!IsPostBack)
        {
            PopulateControls();
        }
    }
    private void PopulateControls()
    {
        int howManyPages = 0;
        string TrangThai = Request.QueryString["TrangThai"] ?? "";
        string theLoai = Request.QueryString["TheLoai"] ?? "";
        string Trang = Request.QueryString["Trang"] ?? "1";
        string firstPageUrl = "";
        string pagerUrl = "";
        if (TrangThai != "")
        {
            repProd.DataSource = BaiDang.LayTheoTrangThai_PT(TrangThai, Trang, out howManyPages);
            repProd.DataBind();
            firstPageUrl = DAL.Connect.Link.DenQLBaiDang(TrangThai);
            pagerUrl = DAL.Connect.Link.DenQLBaiDang(TrangThai, "{0}");
            switch (int.Parse(TrangThai))
            {
                case 1:
                    Label1.Text = "Danh sách các bài viết đã đăng";
                    btnCamDang.Visible = true;
                    break;
                case 2:
                    Label1.Text = "Danh sách các bài viết cấm đăng";
                    btnDang.Visible = true;
                    break;
                default:
                    Label1.Text = "Không tim thấy trang thái bài viết này!";
                    break;
            }
        }
        if (theLoai != "")
        {
            repProd.DataSource = BaiDang.LayTheoTheLoai_PT(theLoai, Trang, out howManyPages);
            repProd.DataBind();
            firstPageUrl = DAL.Connect.Link.DenQLBaiDangTheLoai(theLoai);
            pagerUrl = DAL.Connect.Link.DenQLBaiDangTheLoai(theLoai, "{0}");
            btnDang.Visible = true;
            btnCamDang.Visible = true;
            switch (int.Parse(theLoai))
            {
                case 1:
                    Label1.Text = "Danh sách các bài đăng thuộc thể loại hình ảnh";
                    break;
                case 2:
                    Label1.Text = "Danh sách các bài đăng thuộc thể loại Video";
                    break;
                default:
                    Label1.Text = "Không tim thấy bài đăng cho thể loại này!";
                    break;
            }
        }
        PagerBottom.Show(int.Parse(Trang), howManyPages, firstPageUrl, pagerUrl, true);
    }
    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        btnDelete.Click += new EventHandler(btnDelete_Click);
        repProd.ItemCommand += new RepeaterCommandEventHandler(repProd_ItemCommand);
    }
    void btnDelete_Click(object sender, EventArgs e)
    {
        string stringid = Request.Form["cid"] ?? "";
        if (stringid != "")
        {
            foreach (string id in stringid.Split(','))
                BaiDang.Xoa(id);
            PopulateControls();
        }
    }
    protected void btnDang_Click(object sender, EventArgs e)
    {
        string stringid = Request.Form["cid"] ?? "";
        if (stringid != "")
        {
            foreach (string id in stringid.Split(','))
            {
                if (BaiDang.SuaTrangThai(id, "1") == true)
                    Label1.Text = "Đăng bài thành công!";
            }
            PopulateControls();
        }
    }
    protected void btnCamDang_Click(object sender, EventArgs e)
    {
        string stringid = Request.Form["cid"] ?? "";
        if (stringid != "")
        {
            foreach (string id in stringid.Split(','))
                BaiDang.SuaTrangThai(id, "2");
            PopulateControls();
        }
    }
    void repProd_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        if (e.CommandName == "SuaTrangThai")
        {
            // CommandArgument co dang ProductID_PromoFront 
            string[] args = e.CommandArgument.ToString().Split('_');
            // args[0] ==> ProductID 
            // args[1] ==> PromoFront (kieu String)
            BaiDang.SuaTrangThai(args[0], "1");
            //Product.UpdatePromo(args[0], !Boolean.Parse(args[1]));
            PopulateControls();
        }
    }
}
